Skip to content

feat: add persistent color selection for browser container sessions - #619

Open
JeremySnidaro wants to merge 1 commit into
Noovolari:masterfrom
JeremySnidaro:feat/persistent-session-color
Open

feat: add persistent color selection for browser container sessions#619
JeremySnidaro wants to merge 1 commit into
Noovolari:masterfrom
JeremySnidaro:feat/persistent-session-color

Conversation

@JeremySnidaro

@JeremySnidaro JeremySnidaro commented May 22, 2026

Copy link
Copy Markdown

Closes #620

Changelog

  • Users can now assign a persistent color to any session via the contextual menu (Change → Color)
  • The chosen color is saved in the session model and displayed as a dot indicator on session cards
  • The dot updates immediately after saving without requiring a restart
  • The color is forwarded to the browser extension via the existing WebSocket payload so Firefox containers always open with the user-defined color instead of a random one
  • Color swatches are fully keyboard accessible (Tab to navigate, Enter/Space to select)

Enhancements

  • packages/core: Session model gains an optional color field
  • packages/desktop-app: New ChangeColorDialog component with 9 color swatches matching Firefox container colors
  • packages/desktop-app: Color dot indicator on session cards, updates live after save
  • packages/desktop-app: extension-websocket.service includes sessionColor in create-new-session messages
  • packages/desktop-app: @noovolari/dpapi-addon moved to optionalDependencies (Windows-only native module, was breaking macOS builds)

Notes

Companion PR for the browser extension: Noovolari/leapp-multi-console-extension#6

The color field is optional and backwards-compatible — sessions without a color set behave exactly as before.

Adds a color picker dialog (9 Firefox container colors) accessible from
the session contextual menu. The chosen color is persisted in the session
model and sent to the browser extension via the existing WebSocket payload,
so Firefox containers are created or updated with the user-defined color
instead of a random fallback.

- Session model gains an optional `color` field
- New ChangeColorDialog component with swatch UI, fully keyboard accessible
- Color dot indicator on session cards, updates live after save
- extension-websocket.service forwards sessionColor to the extension
- @noovolari/dpapi-addon moved to optionalDependencies (Windows-only)

Signed-off-by: Jeremy Snidaro <jeremy.snidaro@papernest.com>
Signed-off-by: Jeremy SNIDARO <jeremy.snidaro@papernest.com>
@JeremySnidaro
JeremySnidaro force-pushed the feat/persistent-session-color branch from 93e3ebf to 0d48869 Compare May 22, 2026 15:00
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: persistent color for Firefox browser container sessions

1 participant